Generally, flight crews operate airplanes and other airborne vehicles according to a flight plan that is generated based on a destination, weather, terrain, and other factors. After a flight commences, unforeseen situations may arise that may necessitate a change in the flight plan. The situations that may cause changes in the flight plan may include route availability, altitude availability, weather, and other potential flight conflicts. The flight crew and the air traffic controller are responsible for determining how to change the flight plan in response to the unforeseen situations.
Currently, to change the flight plan, the flight crew may populate a CPDLC message with a request to change the flight plan and then send the CPDLC message to the air traffic controller through a downlink. Whereupon the flight crew waits for the air traffic controller to send an uplink approving the flight plan change. When populating the CPDLC message, the flight crew may validate the flight plan change against static information stored within databases on the aircraft. For example, the flight crew may check that the proposed flight plan change is within a range of statically defined flight paths. However, the proposed flight path changes may be rejected by the air traffic controller causing the flight crew to propose a different change to the flight plane. The proposal of multiple changes to the flight plan may consume both the time of the pilot and the air traffic controller, when they could be using their time more efficiently by performing multiple tasks. Further, the proposed flight path changes, even if approved by the air traffic controller, may ignore possibly better flight path changes.